18
תגובות
אני רוצה להשתמש במשתנים ב-RegExp שב-JS במקום סתם טקסט. איך עושים את זה?
18 תשובות
אפשר ליצור ביטוי רגולרי באמצעות המחלקה RegExp בצורה הבאה:
var re = new RegExp("regex","g");
"mystring".replace(re, "newstring");
"mystring".replace(re, "newstring");
ואם אני רוצה לעשות שרק אם זה יופיע בסוף (בעזרת $)?
ואם כבר - איך אני עושה רק בסוף מילה ולא בסוף כל הטקסט?
לפי מה כשאתה קורא את הארי פוטר המוח שלך יודע שזה סוף מילה?
var re = new RegExp("$blabla[^a-z0-9א-ת]", 'gi');
צריך לשלב גם סימן קריאה וכו'.
והשאלה שלי מלכתחילה הייתה איך עושים את זה עם משתנים.
כלומר, אני רוצה לבדוק אם
array[0][9]
נמצא בסוף כל מילה, ואם כן, לשנות אותו באותה המילה למשהו אחר שנמצא במערך אחר.איך אני עושה את זה?
לא הבנתי.
במקרה רגיל אני פשוט עושה:
re = new RegExp(array[0][9],"g");
אבל ניסיתי ב:
re = new RegExp("$blabla[^a-z0-9א-ת]", 'gi');
בכל מיני דרכים ולא הצלחתי
המטרה שלי שזה יחליף את array[0][9] במשהו אחר בכל אות אחרונה (שזהה אליו) בכל מילה.
re = new RexExp(array[0][9]+"\b", "g");
איך זה עוזר לי?
אני לא מצליח להבין...
ענה
iiddaannyy
ב
03 לפברואר 2012
#
זה מוצא כל array[0][9] שיש בסוף מילה.
לא עובד לי...
re=new RegExp(myArray[0][9]+"\b", "g");
text=text.replace(re, myArray[1][9]);
text=text.replace(re, myArray[1][9]);
text = 'abcx defy ghix, jklx! mnoy pqrx xxx yyx zzz?? abcx58 blatx';
find = 'x';
replace = '2';
re = new RegExp(find + "([^-a-zA-z0-9א-ת]|$)", "g");
text = text.replace(re, replace + '$1');
document.write(text);
find = 'x';
replace = '2';
re = new RegExp(find + "([^-a-zA-z0-9א-ת]|$)", "g");
text = text.replace(re, replace + '$1');
document.write(text);
תודה רבה. :)
שאלה אחת אחרונה - אתה מכיר מדריך שמסביר בפירוט ולעומק את כל הדברים הקשורים לנושא הזה? (חוץ מגוגל)
קראתי אותו פעם. :)
ובכל זאת לא הבנתי מה עושה פה $1:
text = text.replace(re, replace + '$1');